--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
tests/backend/test_map_drawings_oracle.py master (b89dc9e6) Text, 2.71 KB
T8b949e# SPDX-License-Identifier: 0BSD
T8b949e"""Oracles for map drawing ownership (identity_hash column)."""
Tff7b72from T7ee787__future__ Tff7b72import Te6edf3annotations
Tff7b72from T7ee787datetime Tff7b72import Te6edf3UTCTb4b4b4, Te6edf3datetime
Tff7b72import T7ee787pytest
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787database Tff7b72import Te6edf3Database
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787databaseT7ee787.T7ee787provider Tff7b72import Te6edf3DatabaseProvider
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787databaseT7ee787.T7ee787schema Tff7b72import Te6edf3DatabaseSchema
Tf0883e@pytestTff7b72.Td2a8fffixture
Tff7b72def Td2a8ffdbTb4b4b4(Te6edf3tmp_pathTb4b4b4)Tb4b4b4:
Te6edf3path Tff7b72= Tffa657strTb4b4b4(Te6edf3tmp_path Tff7b72/ Ta5d6ff"Ta5d6ffmap_drawings_oracle.dbTa5d6ff"Tb4b4b4)
Te6edf3provider Tff7b72= Te6edf3DatabaseProviderTb4b4b4(Te6edf3pathTb4b4b4)
Te6edf3DatabaseSchemaTb4b4b4(Te6edf3providerTb4b4b4)Tff7b72.Td2a8ffinitializeTb4b4b4(Tb4b4b4)
Te6edf3database Tff7b72= Te6edf3DatabaseTb4b4b4(Te6edf3pathTb4b4b4)
Tff7b72yield Te6edf3database
Te6edf3databaseTff7b72.Td2a8ffclose_allTb4b4b4(Tb4b4b4)
Te6edf3providerTff7b72.Td2a8ffclose_allTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8fftest_oracle_delete_drawing_scoped_to_identity_hashTb4b4b4(Te6edf3dbTb4b4b4)Tb4b4b4:
Te6edf3owner_a Tff7b72= Ta5d6ff"Ta5d6ffaaTa5d6ff" Tff7b72* T79c0ff16
Te6edf3owner_b Tff7b72= Ta5d6ff"Ta5d6ffbbTa5d6ff" Tff7b72* T79c0ff16
Te6edf3now Tff7b72= Te6edf3datetimeTff7b72.Td2a8ffnowTb4b4b4(Te6edf3UTCTb4b4b4)
Te6edf3dbTff7b72.Td2a8ffproviderTff7b72.Td2a8ffexecuteTb4b4b4(
T8b949e"""
INSERT INTO map_drawings (identity_hash, name, data, created_at, updated_at)
VALUES (?, ?, ?, ?, ?)
"""Tb4b4b4,
Tb4b4b4(Te6edf3owner_aTb4b4b4, Ta5d6ff"Ta5d6ffa-lineTa5d6ff"Tb4b4b4, Ta5d6ff"Tffd700{}Ta5d6ff"Tb4b4b4, Te6edf3nowTb4b4b4, Te6edf3nowTb4b4b4)Tb4b4b4,
Tb4b4b4)
Te6edf3row_b Tff7b72= Te6edf3dbTff7b72.Td2a8ffproviderTff7b72.Td2a8ffexecuteTb4b4b4(
T8b949e"""
INSERT INTO map_drawings (identity_hash, name, data, created_at, updated_at)
VALUES (?, ?, ?, ?, ?)
"""Tb4b4b4,
Tb4b4b4(Te6edf3owner_bTb4b4b4, Ta5d6ff"Ta5d6ffb-lineTa5d6ff"Tb4b4b4, Ta5d6ff"Tffd700{}Ta5d6ff"Tb4b4b4, Te6edf3nowTb4b4b4, Te6edf3nowTb4b4b4)Tb4b4b4,
Tb4b4b4)
Te6edf3drawing_b_id Tff7b72= Te6edf3row_bTff7b72.Td2a8fflastrowid
Tff7b72assert Te6edf3dbTff7b72.Td2a8ffmap_drawingsTff7b72.Td2a8ffdelete_drawingTb4b4b4(Te6edf3drawing_b_idTb4b4b4, Te6edf3owner_aTb4b4b4) Tff7b72is Tff7b72False
Tff7b72assert Tffa657lenTb4b4b4(Te6edf3dbTff7b72.Td2a8ffmap_drawingsTff7b72.Td2a8ffget_drawingsTb4b4b4(Te6edf3owner_bTb4b4b4)Tb4b4b4) Tff7b72== T79c0ff1
Tff7b72assert Te6edf3dbTff7b72.Td2a8ffmap_drawingsTff7b72.Td2a8ffdelete_drawingTb4b4b4(Te6edf3drawing_b_idTb4b4b4, Te6edf3owner_bTb4b4b4) Tff7b72is Tff7b72True
Tff7b72assert Te6edf3dbTff7b72.Td2a8ffmap_drawingsTff7b72.Td2a8ffget_drawingsTb4b4b4(Te6edf3owner_bTb4b4b4) Tff7b72== Tb4b4b4[Tb4b4b4]
Tff7b72def Td2a8fftest_oracle_update_drawing_scoped_to_identity_hashTb4b4b4(Te6edf3dbTb4b4b4)Tb4b4b4:
Te6edf3owner_a Tff7b72= Ta5d6ff"Ta5d6ffccTa5d6ff" Tff7b72* T79c0ff16
Te6edf3owner_b Tff7b72= Ta5d6ff"Ta5d6ffddTa5d6ff" Tff7b72* T79c0ff16
Te6edf3now Tff7b72= Te6edf3datetimeTff7b72.Td2a8ffnowTb4b4b4(Te6edf3UTCTb4b4b4)
Te6edf3dbTff7b72.Td2a8ffproviderTff7b72.Td2a8ffexecuteTb4b4b4(
T8b949e"""
INSERT INTO map_drawings (identity_hash, name, data, created_at, updated_at)
VALUES (?, ?, ?, ?, ?)
"""Tb4b4b4,
Tb4b4b4(Te6edf3owner_aTb4b4b4, Ta5d6ff"Ta5d6ffshared-nameTa5d6ff"Tb4b4b4, Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffaTa5d6ff"Ta5d6ff:1}Ta5d6ff'Tb4b4b4, Te6edf3nowTb4b4b4, Te6edf3nowTb4b4b4)Tb4b4b4,
Tb4b4b4)
Te6edf3row_b Tff7b72= Te6edf3dbTff7b72.Td2a8ffproviderTff7b72.Td2a8ffexecuteTb4b4b4(
T8b949e"""
INSERT INTO map_drawings (identity_hash, name, data, created_at, updated_at)
VALUES (?, ?, ?, ?, ?)
"""Tb4b4b4,
Tb4b4b4(Te6edf3owner_bTb4b4b4, Ta5d6ff"Ta5d6ffb-shapeTa5d6ff"Tb4b4b4, Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffbTa5d6ff"Ta5d6ff:1}Ta5d6ff'Tb4b4b4, Te6edf3nowTb4b4b4, Te6edf3nowTb4b4b4)Tb4b4b4,
Tb4b4b4)
Te6edf3drawing_b_id Tff7b72= Te6edf3row_bTff7b72.Td2a8fflastrowid
Tff7b72assert Tb4b4b4(
Te6edf3dbTff7b72.Td2a8ffmap_drawingsTff7b72.Td2a8ffupdate_drawingTb4b4b4(
Te6edf3drawing_b_idTb4b4b4,
Te6edf3owner_aTb4b4b4,
Ta5d6ff"Ta5d6ffhijackedTa5d6ff"Tb4b4b4,
Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffxTa5d6ff"Ta5d6ff:1}Ta5d6ff'Tb4b4b4,
Tb4b4b4)
Tff7b72is Tff7b72False
Tb4b4b4)
Te6edf3rows Tff7b72= Te6edf3dbTff7b72.Td2a8ffmap_drawingsTff7b72.Td2a8ffget_drawingsTb4b4b4(Te6edf3owner_bTb4b4b4)
Tff7b72assert Tffa657lenTb4b4b4(Te6edf3rowsTb4b4b4) Tff7b72== T79c0ff1
Tff7b72assert Te6edf3rowsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffnameTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffb-shapeTa5d6ff"
Tff7b72assert Tb4b4b4(
Te6edf3dbTff7b72.Td2a8ffmap_drawingsTff7b72.Td2a8ffupdate_drawingTb4b4b4(
Te6edf3drawing_b_idTb4b4b4,
Te6edf3owner_bTb4b4b4,
Ta5d6ff"Ta5d6ffrenamedTa5d6ff"Tb4b4b4,
Ta5d6ff'Ta5d6ff{Ta5d6ff"Ta5d6ffbTa5d6ff"Ta5d6ff:2}Ta5d6ff'Tb4b4b4,
Tb4b4b4)
Tff7b72is Tff7b72True
Tb4b4b4)
Te6edf3rows Tff7b72= Te6edf3dbTff7b72.Td2a8ffmap_drawingsTff7b72.Td2a8ffget_drawingsTb4b4b4(Te6edf3owner_bTb4b4b4)
Tff7b72assert Te6edf3rowsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffnameTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffrenamedTa5d6ff"
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────